package com.dragon.modules.yuegou.service.marketing;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.common.web.PageRequest;
import com.dragon.modules.yuegou.entity.marketing.AdvertisementEntity;
import com.dragon.modules.yuegou.enums.marketing.AdvertisementAdType;
import com.dragon.modules.yuegou.enums.marketing.AdvertisementStatus;
import com.dragon.modules.yuegou.model.marketing.Advertisement;
import com.dragon.modules.yuegou.query.marketing.AdvertisementQuery;

import java.util.List;

/**
 * 广告信息表 服务接口
 *
 * @author pbuilder generated
 * @date 2019-11-25 14:23:56
 * @version 2.0
 */
public interface AdvertisementService extends IService<AdvertisementEntity> {

	/**
	 * 大运营查询品宣广告分页列表
	 */
	IPage<Advertisement> search(PageRequest page, AdvertisementQuery query);

	/**
	 * 广告上下架
	 * 
	 * @param id
	 *            广告ID
	 * @param status
	 *            上下架状态
	 */
	void editStatus(String id, AdvertisementStatus status);

	/**
	 * 保存广告
	 */
	void saveAdvertisement(Advertisement query);

	/**
	 * 修改广告排序
	 */
	void editSort(String id, Integer sortNo);

	/**
	 * 根据商圈id/类型查询广告
	 */
	List<Advertisement> list(String busdId, AdvertisementAdType adType);

	/**
	 * 根据商圈id/类型查询广告
	 */
	List<Advertisement> list(String busdId, AdvertisementAdType adType, AdvertisementStatus advertisementStatus);

	/**
	 * 获取首页弹窗广告
	 */
	Advertisement indexAlertAdv(String busdId, String openId);

	/**
	 * 下架广告任务
	 * @param busdId
	 */
	void updateAdvertisementStatus(String busdId);

	/**
	 * 查询首条数据
	 * @param busdId
	 * @param adType
	 * @return
	 */
    Advertisement getAdvertisement(String busdId, Integer adType);
}